In order
to reduce initial connection time, tramp
stores connection related information persistently. The variable
tramp-persistency-file-name keeps the file name
where these information are written. Its default value is
~/.emacs.d/tramp. It is
recommended to choose a local file name.
tramp reads this file during startup, and writes it when exiting GNU Emacs. You can simply remove this file if tramp shall be urged to recompute these information next GNU Emacs startup time.
Using such persistent information can be disabled by setting
tramp-persistency-file-name to nil.
Once consequence of reusing connection related information is
that tramp needs to distinguish hosts. If you, for
example, run a local sshd on port 3001, which
tunnels ssh to another
host, you could access both /ssh
:localhost: and /ssh:localhost#3001:.
tramp would use the same host related information
(like paths, Perl variants, etc) for both connections, although
the information is valid only for one of them.
In order to avoid trouble, you must use another host name for one of the connections, like introducing a Host section in ~/.ssh/config (see Frequently Asked Questions) or applying multiple hops (see Multi-hops).
When tramp detects a changed operating system version on a remote host (via the command uname -sr), it flushes all connection related information for this host, and opens the connection, again.